package com.punch.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.punch.common.dto.system.dict.DictDTO;
import com.punch.common.dto.system.dict.RedisDictDTO;
import com.punch.system.model.SysDict;

import java.util.HashMap;
import java.util.List;

/**
 * DictService-数据字典表 服务类
 *
 * @author wujj
 * @version 1.0.0
 * @since 2020/6/3 20:02
 */
public interface DictService extends IService<SysDict> {

    /**
     * 字典key下字典内容与值
     *
     * @param dictKeyId 字典keyId
     * @return List<DictDTO>
     * @author wujj
     * @since 2020/6/4 14:26
     */
    List<DictDTO> listDictByKey(Long dictKeyId);

    /**
     * 保存数据字典值和内容
     *
     * @param dictKeyId 字典keyId
     * @param dictKey   字典key
     * @param dictList  资源数据字典列表
     * @return dictKeyId
     * @author wujj
     * @since 2020/6/4 14:43
     */
    Long saveDict(Long dictKeyId, String dictKey, List<DictDTO> dictList);

    /**
     * 根据keys查找多个字典列表
     *
     * @param keys 类型列表
     * @return HashMap<String, List < SysDict>>
     * @author wujj
     * @since 2020/6/4 16:16
     */
    HashMap<String, List<RedisDictDTO>> listMultipleDict(String keys);
}
